package test00.lx03;

import java.util.Arrays;

/**
 * 接口的使用
 * 1）传统实现 - 定义接口的实现类 - 接口 对象 = new 实现类()
 * <p>
 * 2）匿名内部类实现
 * 接口 对象 = new 接口() {
 * 重写接口的方法
 * } ;
 * <p>
 * 3）Lambda表达式实现 - 接口必须是函数式接口（有且只有一个抽象方法）
 * 接口 对象 = () -> {
 * 重写接口的方法
 * } ;
 * <p>
 * 4）方法引用
 *
 * @author ZQX
 * @date 2025-04-02
 */
public class MainTest04 {
    public static void main(String[] args) {
        Integer[] arr = {3, 6, 4, 2, 8, 9, 5, 7};

        // 接口的使用，方式三：Lambda表达式实现
        // int compare(T o1, T o2);
        // Comparator<Integer> comparator = (o1, o2) -> o2 - o1;

        // 排序 - 默认升序
        // Arrays.sort(arr, comparator);

        Arrays.sort(arr, (o1, o2) -> o2 - o1);

        System.out.println(Arrays.toString(arr));
    }
}
